草庐IT

c++ - QtableWidget : How to find value in specific column

全部标签

c++ - 从源代码项目中提取所有功能的工具

我正在尝试构建一个可用工具列表,用于解析完整的源代码包并将所有函数/方法提取为单独的部分。我的目标是运行一个工具或脚本,立即知道包中有多少函数,并根据需要轻松地逐个检查完整的分段函数集。现在我正在使用NiCad克隆检测工具,其中包括一个用TXL(一种树转换语言)编写的提取脚本。每个函数都被提取出来并作为一个唯一的实体存储在XML文档中,因此处理函数列表非常方便。NiCad包括用于C、Java和Python的提取工具。我最关心的是C,但也很高兴有其他可用的东西。我们还没有设置C++解析器-这会很方便。我还使用了Doxygen,它具有识别调用图的额外好处。虽然这些文件中有很多标记,因此解析

c++ - 如何将包含不同语言的 wstring 行写入文件?

我从22个不同语言的文件中分离出不同的部分,并使它们成为一个wstring行,如下所示:wstringwstr_line=L"\"IDS_TOAST_ECOON\",\"ecoModeisturnedOn.\",\"ecoモードをオンにしました。\",\"Režimecojezapnutý.\",\"Økoindstillingeneraktiveret\"..."我用wofstream把wstr_line放到一个文件里,但是这行在日文部分结束了(\"ecomoードをオンニしました。\")。如果我设置wfout.imbue("chs");该行在捷克语部分结束(\"Režimecojez

c++ - 取消 pthread_cond_wait() 挂起与 PRIO_INHERIT 互斥锁

2012年4月10日更新:Fixedbylibcpatch我在pthread_cond_wait中取消线程时遇到问题,将互斥锁与PTHREAD_PRIO_INHERIT一起使用属性集。不过,这只发生在某些平台上。以下最小示例演示了这一点:(使用g++.cpp-lpthread编译)#include#includepthread_mutex_tmutex;pthread_cond_tcond;voidclean(void*arg){std::cout每次我运行它,main()卡在pthread_join().gdb回溯显示如下:Thread2(Thread0xb7d15b70(LWP25

c - C 如何计算 sin() 和其他数学函数?

我一直在仔细研究.NET反汇编和GCC源代码,但似乎无法在任何地方找到sin()和其他数学函数的实际实现...它们似乎总是引用其他东西。谁能帮我找到他们?我觉得C运行的所有硬件都不太可能支持硬件中的触发函数,所以必须有一个软件算法某处,对吧?我知道可以计算函数的几种方法,并且已经编写了自己的例程来使用泰勒级数计算函数来获得乐趣。我很好奇真实的生产语言是如何做到这一点的,因为我的所有实现总是慢几个数量级,尽管我认为我的算法非常聪明(显然它们不是)。 最佳答案 在GNUlibm中,sin的实现是系统相关的。因此,您可以在sysdeps的

c++ - OpenSSL:AES CCM 256 位大文件加密 block :这可能吗?

我正在执行一项使用AESCCM模式(256位key长度)加密大文件的任务。其他用于加密的参数是:标签大小:8字节iv大小:12字节因为我们已经在使用OpenSSL1.0.1c,所以我也想用它来完成这项任务。文件的大小事先并不知道,它们可能非常大。这就是为什么我想按block读取它们并使用EVP_EncryptUpdate单独加密每个block,直到文件大小。不幸的是,仅当整个文件一次加密时,加密对我有效。如果我尝试多次调用它,我会从EVP_EncryptUpdate或奇怪的崩溃中得到错误。我使用gcc4.7.2在Windows7和UbuntuLinux上测试了加密。我找不到有关Open

c++ - Eclipse CDT's symbol 'X' 无法解析的通用解决方案?

我有一个包含C++和C文件的项目。代码可以正确编译和运行,但我需要消除以下错误:Symbol'ERANGE'couldnotberesolved我能够用这两个文件重现它(Ubuntu上最新的x64ElipseJuno):主要.h:#ifndefMAIN_H_#defineMAIN_H_extern"C"{#include}#endif/*MAIN_H_*/主要.cpp:#include#include#include"main.h"intmain(intargc,char*argv[]){assert(errno!=ERANGE);//在ERANGE上正确执行OpenDeclarati

c++ - 从自己的程序中获取程序元数据

如何为我的C程序变量带来以下值:用于执行程序的CPU,即在同一程序上花费了多少处理器。程序的执行时间,即完成需要多长时间。编译器警告,即如何在我自己的程序中将编译器警告放在字符串变量上?我的程序占磁盘的大小:程序占用我的硬盘。我发现这很难做到,而且我不知道有什么方法可以做到。提前致谢 最佳答案 可执行文件的编译器警告是仅在您的程序构建后可用的信息。所以我认为将这些信息静态打包到您的“C程序变量”中并不容易。您可以将此数据保存到一个文件中,作为额外的构建步骤。例如,编写一个程序来执行编译器并读取其输出。然后,该程序会将数据保存到文件中

c++ - 通过 C++ 运行命令时隐藏控制台窗口

我使用CreateProcess运行命令并使用了CREATE_NO_WINDOW标志,但控制台弹出一小部分秒,如何避免?STARTUPINFOsi;PROCESS_INFORMATIONpi;ZeroMemory(&si,sizeof(si));si.cb=sizeof(si);ZeroMemory(&pi,sizeof(pi));CreateProcess(NULL,//Nomodulename(usecommandline)command,//setenvvariableanduseitismycommandNULL,//ProcesshandlenotinheritableNUL

c++ - 在一个范围内生成不同的随机数

这个问题在这里已经有了答案:Algorithmtoselectasingle,randomcombinationofvalues?(7个答案)Unique(non-repeating)randomnumbersinO(1)?(22个答案)关闭9年前。我想生成n个介于1和N之间的不同数字(当然n问题来了。如果我们不知道n有多大,我们该怎么办?我希望该算法只使用O(n)内存并在O(n)时间后停止。这可能吗?

c++ - HDF5 中的嵌套复合数据类型

我是C++应用程序团队的一员,该应用程序处理各种类型的消息并以各种格式输出它们。出于本次讨论的目的,可以将消息视为名称-值对的集合。这些值通常是数字,但也可以是字符串。消息的结构基本上是在处理时被发现的。消息可以是任意大的,因此不允许在内存中存储表示。一条消息一次处理一个名称-值对。消息可以具有内部结构,该结构由名称-值对中的名称捕获。一个很好的类比是在目录层次结构中考虑文件名。我正在开发一个子系统来处理这些消息并使用低级HDF5API来生成HDF输出。由于我上面描述的限制,我使用的方法涉及对消息的两次传递。在第一遍中,我收集布局信息并构建复合数据类型和数据集。然后我再次传递消息以写出